using System.Collections.Generic;
using System.Threading.Tasks;
using AutomaticSubtitles.Service.DataAccess.Model;
using Masa.BuildingBlocks.Data;

namespace AutomaticSubtitles.Service.Domain.Filter;

/// <summary>
/// 词语过滤仓储接口
/// </summary>
public interface IFilterWordsRepository : IRepository<Auto_FilterWords, string>
{
    /// <summary>
    /// 获取所有启用的过滤词
    /// </summary>
    /// <returns>过滤词列表</returns>
    Task<List<string>> GetActiveFilterWordsAsync();

    /// <summary>
    /// 获取特定语言的过滤词
    /// </summary>
    /// <param name="language">语言代码</param>
    /// <returns>特定语言的过滤词列表</returns>
    Task<List<string>> GetActiveLanguageFilterWordsAsync(string language);

    /// <summary>
    /// 获取所有活跃的语言代码
    /// </summary>
    /// <returns>语言代码列表</returns>
    Task<List<string>> GetActiveLanguagesAsync();
}